package top.infopub.mgr.sg.service;

import java.util.List;

import top.infopub.enums.sg.CoopInfoTypesEnums;
import top.infopub.generic.GenericService;
import top.infopub.model.sg.CoopInfo;

import com.github.pagehelper.Page;

public interface CoopInfoService extends GenericService<CoopInfo, String> {

    /**
     * 根据条件查询合作单位信息列表
     * @param page
     * @param CoopInfo
     * @return 
     * @see
     */
    Page<CoopInfo> selectPageByDomainWhere(Page<CoopInfo> page, CoopInfo coopInfo);
 
	/**
	 * 新增合作单位信息
	 */
    void saveCoopInfo(CoopInfo coopInfo);
    
    /**
     * 修改合作单位信息
     */
    void udpCoopInfo(CoopInfo coopInfo);
    
    /**
     * 根据单位名查询是否存在
     * @param coopName 单位名
     * @return 
     * @see
     */
    boolean selectByCoopName(String coopName);
    
    /**
     * 根据名称和id查询单位是否存在
     * @param coopName 单位名
     * @param id 单位Id
     * @return 
     * @see
     */
    boolean selectByCoopNameAndId(String coopName,String id);
    
    /**
     * 通过coopCode查询单位名称
     * @param coopId
     * @return 
     * @see
     */
    List<CoopInfo> selectByCoopCode(String coopId);
    
    /**
     * 查询所有合作单位为  总包合同的
     */
    List<CoopInfo> selectAll(String zbtypes,String fbtypes,String qttypes);

    /**
     * 根据types查询企业信息
     * @param coopInfoTypes 分类枚举类
     * @param flag 0：查询对应分类的企业数据，1：排除对应分类的其它企业数据
     * @return
     */
    List<CoopInfo> queryByTypes(CoopInfoTypesEnums coopInfoTypes, int flag);
}